\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[utf8]{inputenc}


\usepackage{ae,aecompl}
\usepackage{pslatex}
\usepackage{epsfig}
\usepackage{geometry}
\usepackage{url}
\usepackage{textcomp}
\usepackage{ae}
\usepackage{subfig}
\usepackage{indentfirst}
\usepackage{textcomp}
\usepackage{color}
\usepackage{setspace}
\usepackage{verbatim}
\usepackage{hyperref}

% Gráficos
%\usepackage{pgfplots}
%\pgfplotsset{compat=1.3}
%\usepgfplotslibrary{groupplots}

\usepackage{hyperref}
\hypersetup{
    colorlinks,%
    citecolor=black,%
    filecolor=black,%
    linkcolor=blue,%
    urlcolor=blue
}

\usepackage[compact]{titlesec}
\titlespacing{\section}{0pt}{*0}{*0}
\titlespacing{\subsection}{0pt}{*0}{*0}
\titlespacing{\subsubsection}{0pt}{*0}{*0}

% Definindo as margens para 2cm e o espaçamento entre linhas para 1.5
% Relatório parcial deve ter espaçamento simples
% \linespread{1.5}

\geometry{ 
  a4paper,	% Formato do papel
  tmargin=40mm,	% Margem superior
  bmargin=30mm,	% Margem inferior
  lmargin=20mm,	% Margem esquerda
  rmargin=20mm,	% Margem direita
  footskip=20mm	% Espaço entre o rodapé e o fim do texto
}
\renewcommand{\thetable}{\Roman{table}}
\newcommand{\x} {$\bullet$}


\begin{document}


\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topskip}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}


% Guia para o relatório
% Quais são os principais parâmetros a serem definidos em uma cache?
% Quais são os valores típicos para esses parâmetros?
% Quais devem ser os limites mínimos e máximos desses valores?
% Olhe no manual do dinero e descubra quais desses parâmetros ele
% permite configurar -- Done
% Como podemos dizer que uma determinada configuração de cache é melhor que outra?
% O que é um trace de execução? -- Done +-
% Por que utilizar um trace de execução para achar a melhor configuração de cache para um programa?
% Por que escolher a melhor configuração de cache para um dado programa? A configuração de cache não é específica do processador?
% Olhe aqui qual o programa e número de arquivos você deve usar
\begin{minipage}{5cm}
  \makebox[5cm][l]{\rule{4cm}{1mm}{\hspace{4mm}\bf Tiago Chedraoui Silva \hspace{2mm}RA:082941
      \hspace{2mm} Turma: A}\hspace{4mm} \rule{4cm}{1mm} }
  \vspace{2mm}
\end{minipage}

\vspace{-3mm}

%http://www.macworld.com/article/157646/2011/02/harddrivetestdrive.html
\section{Objetivo}
O objetivo desse laboratório era criar um benchmark e medir o
desempenho de discos (e estimar o desempenho da rede).
Para isso escreveu-se um  programa para medir o desempenho de discos,
em que  gravou-se  e recuperou-se do disco arquivos para a medida de desempenho.

%http://www.hardware.com.br/livros/hardware/tempo-acesso-access-time.html
%http://www.ic.unicamp.br/~thelma/gradu/MC326/2010/Slides/Aula02b-CustoAcesso.pdf
\section{Introdução}
O principais custos de um acesso a disco são:
\begin{description}
\item [Latência rotacional:] tempo gasto para localizar o 
setor ao qual se quer ter acesso. Sua ordem é em milisegundos e pode
ser calculado pelo número de rotações por período de tempo (ver
tabela). Exemplo:

\begin{table}[h!]
\begin{center}
\begin{tabular}{cc}
\hline
\hline
RPM &  Tempo de latência médio \\
\hline
5.400 & 5.55 $ms$ \\
7.200 & 4.15 $ms$\\
10.000 & 3 $ms$
\end{tabular}
\end{center}
\end{table}

\item [Tempo de busca (seek time):] tempo gasto para a cabeça de 
leitura/gravação se posicionar na trilha correta. O tempo é da ordem de $ms$
%Varia de 3 ms (para trilhas adjacentes) e até 100 ms (para trilhas que estão nos extremos do disco).

\item[Tempo de transferência:]  tempo gasto para a 
migração dos dados da memória secundária para a 
memória principal.

\item[Tempo de acesso:]: tempo de seek + tempo de latência + tempo de transferência
\end{description}

O tempo de transferência tem predominância quando o tamanho dos dados
a ser lido é grande.
Se o arquivo estiver em sequência no disco o tempo total de busca diminui
já que as leituras são em trilhas sequenciais, enquanto se estiver
framentado diversas buscas devem ser feitas aumentando o tempo total
de busca.
Da mesma maneira, o tempo total de latência rotacional pode variar bastante
se nossos dados estiverem dispersos (fragmentados) no disco. 
%Quais parâmetros tem predominância no desempenho e em quais situações?
%Como podemos dizer que uma determinada configuração de disco é melhor que outra?
%Como esse benchmark pode ser usado para estimar o desempenho da rede?
%Quais são as unidades de transferências de dados em disco (na rede)?
Para  avaliação de uma rede, deve-se medir o tempo necessário para que um computador
enviar pacotes para outro através dela. Para isso podemos fazer o requerimento 
de um arquivo em outra máquina da rede e retirar o tempo de acesso que é local.
Assim, teremos o tempo de comunicação, fazendo:
\begin{equation}
  Tempo~de~rede = Tempo~total - Tempo~de~acesso. 
\end{equation}

\section{Programa}
Inicialmente criou-se um programa em c que:
\begin{itemize}
\item Gravava 5 arquivos de 200MB na pasta /tmp
\item Lia os arquivos aleatoriamente e sequencialmente da pasta /tmp
\item Lia os arquivos aleatoriamente e sequencialmente de outro
  computador (na pasta HOME)
\end{itemize}
\section{Dados coletados}
Apenas pegou-se os tempo de leitura dos arquivos do qual se obteu para
uma máquina do laboratório de redes da Unicamp cuja taxa de rotação do HD é de 7200 RPM:

\begin{table}[h!]
\caption{Tempo para 1GB de arquivos}
\begin{center}
\begin{tabular}{ccc}
\hline 
\hline
Descrição & Acesso sequencial & Acesso aleatório \\
\hline
Tempo Maximo &  14815.441 ms & 14637.162 ms\\
Tempo Mínimo & 14274.634 ms & 14063.118 ms\\
Tempo médio & 14550.767 ms & 14333.141 ms\\
Desvio  & 171.871 ms & 177.287 ms \\

\end{tabular}
\end{center}
\end{table}

A segunda etapa seria medir o tempo de rede, o objetivo seria que o
computador lesse um arquivo em outra máquina. Obtivemos:

\begin{table}[h!]
\caption{Tempo para 1GB de arquivos}
\begin{center}
\begin{tabular}{ccc}
\hline 
\hline
Descrição & Acesso sequencial & Acesso aleatório \\
\hline
Tempo Maximo &  19698.866 ms & 19549.235 ms\\
Tempo Mínimo & 13968.226 ms & 14141.010  ms\\
Tempo médio & 14697.023 ms & 14829.408  ms\\
Desvio  & 1586.519 ms & 1501.187  ms \\

\end{tabular}
\end{center}
\end{table}


\section{Análise}

A diferença entre os tempos médios $t_{medioAl}-t_{medioSeq}=496.267 ms$
Temos que o tempo total de seek é de $486.267 ms$, pois ambas leituras devem ter um tempo
de transferência igual e um tempo de latência médio aproximadamente o mesmo.
O tempo de acesso a rede ficou em   $Tempo~de~rede = Tempo~total -
Tempo~de~acesso = 14697.023 - 14550.767=146.256$. Logo para 1GB, nossa
velocidade encontrada é de $v \approx 6.837Gbps$. Porém ao ver pelos
acessos sequenciais: $Tempo~de~rede = Tempo~total -
Tempo~de~acesso = 14829.408 - 14333.141 = 496.267$, o que nos dá uma
velocidade da rede de $v \approx 2.015Gbps$.

\section{Conclusão}
Pelos dados coletados  em ordem de influência para um rede cuja
velocidade é baixa temos:
\begin{enumerate}
\item Tempo de Rede
\item Tempo de Transferência
\item Tempo de Seek
\item Tempo de Latência rotacional
\end{enumerate}

Ou seja o tempo de rede é o que mais influencia se a rede tiver baixa velocidade, já que é necessário o envio do arquivo através da rede. Além disso,  o tempo para passar da memória secundário para a principal também toma tempo considerável no total. E pelos cálculos o tempo de seek é da ordem de $ms$.

OBS: No caso dos testes, nossa rede é possui alta velocidade de conexão, o
que nos deu um tempo de rede baixo. Mas considerei na conclusão uma
rede não tão boa.
% ******************************************************
% REFERENCIAS BIBLIOGRÁFICAS
% ******************************************************
 \section{Referências}
\bibliographystyle{plain}
\begin{small}
  \bibliography{referencias}
\end{small}

\end{document}
